<?php

namespace App\Http\Controllers;

use App\User;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Hash;

class UserController extends Controller
{
    /*获取一个添加页面
     * @param null
     * @return 返回用户列表
     * */
    public function index(){
        $str = 12346;
        $pwd = Hash::make($str);
        dd($str);
//        $user = User::get();
//        return view('user.list',compact('user'));
    }



    /*获取一个添加页面
     * @param null
     * @return 返回添加页面
     * */
    public function add(){
        return view('user/add');
    }

    /*执行用户添加操作
     * @param 提交的表单数据
     * @return 返回添加是否成功
     * */
    public function store(Request $request){

        //获取用户提交的表单数据
        $input = $request->except('_token');
        $input['password'] = Hash::make($input['password']);

        //表单验证在模型中操作

        //添加操作
        $res= User::create($input);

        //添加数据后的跳转
        if($res){
            return redirect("/");
        }else{
            return back();
        }
    }

    /*执行用户修改操作
     * @param 用户id
     * @return 修改页面
     * */
    public function edit($id){

        //将修改用户信息返回
        $user = User::find($id);
        return view("user/edit",compact('user'));
    }

    /*执行用户修改操作
    * @param 表单数据
    * @return 修改成功跳转列表页
    * */
    public function update(Request $request){

        $input = $request->except("_token");

        $user = User::find($input['id']);

        $res = $user -> update(["username"=>$input['username'],"password"=>md5($input['password'])]);

        if($res){
            return redirect("User/index");
        }else{
            return back();
        }
    }

    /*执行用户删除操作
    * @param id
    * @return 删除成功跳转列表页
    * */
    public function del($id){

        $user = User::find($id);

        $res = $user -> delete();

        if($res){
            $data = array(
                "status"=>0,
                "message"=>"删除成功"
            );
        }else{
            $data = array(
                "status"=>1,
                "message"=>"删除失败"
            );
        }
        return $data;
    }
}
